home *** CD-ROM | disk | FTP | other *** search
/ ADA Programming Guide / ADA Programming Guide.iso / ada_pcdp / adas / mesem.ada < prev    next >
Text File  |  1996-01-30  |  584b  |  36 lines

  1. with Semaphore_Package; use Semaphore_Package;
  2. with Text_IO; use Text_IO;
  3. with Integer_Text_IO; use Integer_Text_IO;
  4. procedure sem is
  5.  m: constant integer := 10;
  6.  n: integer := 0;
  7.  s: semaphore := Init(1);
  8.  
  9. task incr1;
  10. task body incr1 is
  11.   i: integer;
  12. begin
  13.   for i in 1 .. m loop
  14.     wait(s);
  15.     n := n + 1;
  16.     signal(s);
  17.   end loop;
  18. end incr1;
  19.  
  20. task incr2;
  21. task body incr2 is
  22.   i: integer;
  23. begin
  24.   for i in 1 .. m loop
  25.     wait(s);
  26.     n := n + 1;
  27.     signal(s);
  28.   end loop;
  29. end incr2;
  30.  
  31. begin
  32.   Put(" the sum is: ");
  33.   Put(n);
  34.   New_Line;
  35. end;
  36.